Conversation
✅ Deploy Preview for 3dstreet-core-builds ready!
To edit notification comments on pull requests, go to your Netlify site configuration. |
…d implementation around for testing and comparison
647254f to
079d94d
Compare
|
The previous export also doesn't round the vec3, we can get |
|
Other differences between the two implementations. 3dstreet/src/json-utils_1.1.js Lines 108 to 111 in afb7aa2 and the loader read it here 3dstreet/src/json-utils_1.1.js Lines 412 to 423 in afb7aa2 not sure why we have that delete entityData.components[attr]; line here.
example of exported json {
"element": "a-entity",
"mixin": "markings solid-stripe",
"primitive": "plane",
"components": {
"geometry": "buffer: false; skipCache: true; width: 0.2; height: 150",
"material": "repeat: 1 5; transparent: true; src: #markings-atlas",
"scale": "1 0.4 1",
"rotation": "270 0 0",
"position": "0 0.01 0"
}
}There is no primitive prop in geometry component, I'm not sure if this is deleted explicitly in the code, I didn't found that. Another difference is the exported class is an array. |
|
old implementation has a way to remove some properties inside a component 3dstreet/src/json-utils_1.1.js Lines 175 to 184 in afb7aa2 |
This reverts commit 7e7a576.
…zeComponents so that applies to both json and html export
|
Related to the export with the original functions, there is two changes in aframe inspector: |
Main differences between the previous implementation and the new implementation:
Previous implementation has its own
toPropStringfunction that does its own thing and usingAFRAME.utils.coordinates.stringify(propData)only for vectors instead of usingstringifyComponentValuefrom entity.js that usesschema.stringifythat have the implementation of stringify for each property types.In the new export I'm doing the filters early while doing
prepareForSerialization, that's cloning the entity (but not attached to the DOM) and then callremoveAttributeif needed.In previous implementation, it's iterating over the existing DOM, serialize each component with the "not include default values logic" that exists in entity.js but functions were copied from entity.js (not sure if there are some changes to those), and do a filter afterwards on the json with
filterJSONstreet.